﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

public partial class Avaliador_GerenciarAvaliador : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Usuario"] == null || Session["TipoUsuario"] == null)
            Response.Redirect("../Login.aspx");
        if (Session["Evento"] == null)
            Response.Redirect("../DefaultAG.aspx");
        if (Session["TipoUsuario"].ToString() != "Administrador Geral")
            Response.Redirect("../Default.aspx");
    }
    [WebMethod]
    public static Resultado<Avaliador> getAvaliadores(int pagina, string nome, bool aceito, string pesqAceito, bool status, string pesqStatus)
    {
        int i = (pagina - 1) * 4;
        DataClassesDataContext dc = new DataClassesDataContext();
        Resultado<Avaliador> retorno = new Resultado<Avaliador>();
        retorno.Data = dc.Avaliadors.Where(p => p.Pessoa.nome.Contains(nome)).OrderBy(p => p.Pessoa.nome).Skip(i).Take(4).ToList();
        retorno.TotalCount = dc.Avaliadors.Where(p => p.Pessoa.nome.Contains(nome)).Count();
        if (pesqAceito == "sim")
        {
            retorno.Data = dc.Avaliadors.Where(p => p.Pessoa.nome.Contains(nome) && p.aceito.Equals(aceito)).Skip(i).Take(4).OrderBy(f => f.Pessoa.nome).ToList();
            retorno.TotalCount = dc.Avaliadors.Where(p => p.Pessoa.nome.Contains(nome) && p.aceito.Equals(aceito)).Count();
        }
        if (pesqStatus == "sim")
        {
            retorno.Data = dc.Avaliadors.Where(p => p.Pessoa.nome.Contains(nome) && p.status.Equals(status)).Skip(i).Take(4).OrderBy(f => f.Pessoa.nome).ToList();
            retorno.TotalCount = dc.Avaliadors.Where(p => p.Pessoa.nome.Contains(nome) && p.status.Equals(status)).Count();
        }
        return retorno;
    }
    [WebMethod]
    public static void ativarDesativar(string id)
    {
        Avaliador.changeStatus(Avaliador.findAvaliadorById(new Guid(id)));
    }
}